Breakpoints and Break Conditions

A* Explorer has a powerful feature called breakpoints. A breakpoint can either be a specific point or a condition which will cause A* Explorer to stop executing the A*. This is useful if you want to monitor a certain point to see when the A* algorithm uses it, or when (for example) the algorithm must propagate changes backward from a node on the closed list!

Setting a Breakpoint

Setting a breakpoint is very easy, simple double right-click on your map to set a breakpoint. For example, if you double-right click at (8,2) and hit the "Run To Breakpoint" icon, if the A* uses (8,2) this message will appear:

The A* tree view will then jump to (8,2) showing you exactly what has happened. From there, you can run until (8,2) is hit again (Run To Breakpoint), step through the algorithm (Step A*) or complete pathing (Run A*). You may change the position of the breakpoint at any point.

If you want to turn a breakpoint off, select "Pathing, Debug Setup" and deselect ""Breakpoint".

Setting a Break Condition

To set a break condition, simply select the condition you wish from "Pathing, Debug Setup". The conditions are:

Menu Item

Meaning

New Child Added

Triggers when a new child is added.

Open List Added

Triggers when a child that was found on the Open List is added

Closed List Added

Triggers when a child that was found on the Closed List is added

Open List with Update

Triggers when a child that was found on the Open List and updates its parent node is added

Closed List with Update

Triggers when a child that was found on the Closed List and updates its parent node is added

If a condition is met, A* Explorer will display:

Remember, that an entire iteration is performed, therefore it is feasible that the condition occurs several times in one iteration (unlike a breakpoint). Therefore, when a breaking condition is met and the tree view jumps to the node there may be other nodes that satisfy the condition.

Tip: Both a breakpoint and a breaking condition can be specified.

Copyright ©, J.Matthews 2001-2002